package com.tulele.vtool.service;


import com.github.pagehelper.PageInfo;
import com.tulele.vtool.model.*;
import com.tulele.vtool.wechat.service.WeixinServiceDL;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
import org.apache.ibatis.annotations.Param;

public interface IOrderInfoService {

    /**
     * 记录订单信息
     * @param orderInfo
     * @return
     */
    int doRecordOrderInfo(OrderInfo orderInfo);

    /**
     * 微信订单回调处理
     */
    void doPayCallBackProcess(OrderInfo orderInfo, PlatformSysInfo platformSysInfo, WxMpServiceImpl weixinService);

    /**
     * 微信订单回调处理
     */
    void doPayCallBackProcessForBusiness(OrderInfo orderInfo);

    /**
     * 记录订单信息
     * @param userId
     * @param id
     * @return
     */
    int checkCourse(Integer userId, Integer id);

    /**
     * 获取订单基本信息
     * @param orderId
     * @return
     */
    OrderInfo getOrderSimpleInfo(String orderId);

    int queryTodayOrderCount(Integer userId);

//    void buyVipMessagePush(UserInfo user, UserVipValidInfo userVipValidInfo);
//    void pushBuyVip(Integer referer,Integer userId,Double income);

    /**
     * 查询多条数据
     *
     * @param pageNum 查询起始位置
     * @param pageSize  查询条数
     * @param orderInfo 实例对象
     * @return 对象列表
     */
    PageInfo selectAllCourseId(Integer pageNum , Integer pageSize, OrderInfo orderInfo);

}
